<HTML>

<SCRIPT>
function setFocus() {	
	if ((navigator.appName != "Netscape") && (parseFloat(navigator.appVersion) == 2)) {
	return;
	} else {
	self.focus();
	}
}
</SCRIPT><HEAD><TITLE>Index</TITLE></HEAD>

<BODY
	BGCOLOR		= #FFFFFF
	TEXT = #000000
onLoad="setFocus()";
>

<P>Names of design patterns appear in small capitals: e.g., A<FONT
SIZE=-1>DAPTER</FONT>.  Page numbers in bold indicate the definition
of a term. Numbers in italics indicate a diagram for the term.
Letters after a diagram's page number indicate the kind of diagram:
a "c" denotes a class diagram, an "i" denotes an interaction diagram,
and an "o" denotes an object diagram. For example, <I>88co</I>
means that a class and object diagram appears on page 88.</P>

<H2>M</H2>

<DL>
<a name="MacApp"></a>
<DT>MacApp</DT>

<DD>use of C<FONT SIZE=-1>HAIN OF</FONT> R<FONT SIZE=-1>ESPONSIBILITY</FONT> 
<A HREF="pat5afs.htm#knownuses" TARGET="_mainDisplayFrame">232</A>
</DD>

<DD>use of C<FONT SIZE=-1>OMMAND</FONT> 
<A HREF="pat5bfs.htm#knownuses" TARGET="_mainDisplayFrame">242</A>
</DD>

<DD>use of D<FONT SIZE=-1>ECORATOR</FONT> 
<A HREF="pat4dfs.htm#macapp-dec" TARGET="_mainDisplayFrame">179</A>, 
<A HREF="pat4dfs.htm#macapp-dec2" TARGET="_mainDisplayFrame">180</A>
</DD>

<DD>use of F<FONT SIZE=-1>ACTORY</FONT> M<FONT SIZE=-1>ETHOD</FONT> 
<A HREF="pat3cfs.htm#macapp-facmeth" TARGET="_mainDisplayFrame">113</A>, 
<A HREF="pat3cfs.htm#knownuses" TARGET="_mainDisplayFrame">115</A>
</DD>

<DT>Macbeth 
<A HREF="chap1fs.htm#macbeth" TARGET="_mainDisplayFrame">1</A>
</DT>

<DT>MacFactory
<A HREF="chap2fs.htm#editor_factory_hierarchy" TARGET="_mainDisplayFrame"><I>50c</I></A>
</DT>

<DT>Macintosh 
<A HREF="chap2fs.htm#macintosh1" TARGET="_mainDisplayFrame">48</A>, 
<A HREF="chap2fs.htm#top" TARGET="_mainDisplayFrame">52</A>
</DT>

<DT>MacroCommand<A HREF="pat5bfs.htm#macrocommand" TARGET="_mainDisplayFrame">235</A>,
<A HREF="pat5bfs.htm#command-eg-macro" TARGET="_mainDisplayFrame"><I>235c</I></A>, 
<A HREF="pat5bfs.htm#macrocommand2" TARGET="_mainDisplayFrame">241</A>
</DT>

<DT>magic token 
<A HREF="disc5fs.htm#magictoken" TARGET="_mainDisplayFrame">346</A>
</DT>

<DT>Manipulator 
<A HREF="pat3cfs.htm#manip" TARGET="_mainDisplayFrame">109</A>,
<A HREF="pat3cfs.htm#fmethod-eg2" TARGET="_mainDisplayFrame"><I>110c</I></A>
</DT>

<DT>MapSite 
<A HREF="chap3fs.htm#mapsite" TARGET="_mainDisplayFrame">82</A>,
<A HREF="chap3fs.htm#room-82c" TARGET="_mainDisplayFrame"><I>82c</I></A>
</DT>

<DT>Marriage of Convenience 
<A HREF="pat4afs.htm#marriage" TARGET="_mainDisplayFrame">149</A>
</DT>

<DT>Maze
<A HREF="chap3fs.htm#room-82c" TARGET="_mainDisplayFrame"><I>82c</I></A>, 
<A HREF="chap3fs.htm#maze-def" TARGET="_mainDisplayFrame">84</A>
</DT>

<DT>MazeBuider 
<A HREF="pat3bfs.htm#samplecode" TARGET="_mainDisplayFrame">101</A>
</DT>

<DT>MazeFactory 
<A HREF="pat3afs.htm#samplecode" TARGET="_mainDisplayFrame">92</A>
</DT>

<DD>as singleton 
<A HREF="pat3efs.htm#mazebld-single" TARGET="_mainDisplayFrame">133</A>
</DD>

<DT>MazeGame 
<A HREF="chap3fs.htm#mazegame" TARGET="_mainDisplayFrame">84</A>, 
<A HREF="pat3cfs.htm#samplecode" TARGET="_mainDisplayFrame">114</A>
</DT>

<DT>MazePrototypeFactory<A HREF="pat3dfs.htm#samplecode" TARGET="_mainDisplayFrame">122</A>
</DT>

<DT><a name="M<FONT SIZE=-1>EDIATOR</FONT>"></a>M<FONT SIZE=-1>EDIATOR</FONT> 
<A HREF="pat5efs.htm#top" TARGET="_mainDisplayFrame"><B>273</B></A>
</DT>

<DD>combined with O<FONT SIZE=-1>BSERVER</FONT> 
<A HREF="pat5gfs.htm#media-w-obsrv" TARGET="_mainDisplayFrame">299</A>
</DD>

<DD>compared with C<FONT SIZE=-1>HAIN OF</FONT>
	R<FONT SIZE=-1>ESPONSIBILITY</FONT> 
<A HREF="disc5fs.htm#media-vs-cor" TARGET="_mainDisplayFrame">348</A>
</DD>

<DD>compared with F<FONT SIZE=-1>ACADE</FONT><A HREF="pat5efs.htm#relatedpatterns" TARGET="_mainDisplayFrame">282</A>
</DD>

<DD>compared with O<FONT SIZE=-1>BSERVER</FONT> 
<A HREF="disc5fs.htm#media-vs-obsrv" TARGET="_mainDisplayFrame">346</A>, 
<A HREF="disc5fs.htm#media-vs-obsrv2" TARGET="_mainDisplayFrame">348</A>
</DD>

<DD>in catalog summary 
<A HREF="chap1fs.htm#cat-media" TARGET="_mainDisplayFrame">9</A>
</DD>

<DD>use of delegation in 
<A HREF="chap1fs.htm#media-use-deleg" TARGET="_mainDisplayFrame">21</A>
</DD>

<DT>Mediator</DT>

<DD>communicating with Colleague 
<A HREF="pat5efs.htm#media-comm-coll" TARGET="_mainDisplayFrame">278</A>, 
<A HREF="pat5efs.htm#media-comm-coll2" TARGET="_mainDisplayFrame">282</A>
</DD>

<DD>participant of M<FONT SIZE=-1>EDIATOR</FONT>
<A HREF="pat5efs.htm#structure" TARGET="_mainDisplayFrame"><I>276co</I></A>, 
<A HREF="pat5efs.htm#participants" TARGET="_mainDisplayFrame">277</A>,
<A HREF="disc5fs.htm#media-348i" TARGET="_mainDisplayFrame"><I>348i</I></A>
</DD>

<DD>omitting abstract class of 
<A HREF="pat5efs.htm#media-omit-abs" TARGET="_mainDisplayFrame">278</A>
</DD>

<DT>mediator 
<A HREF="pat5efs.htm#def-media" TARGET="_mainDisplayFrame"><B>274</B></A>
</DT>

<DT>member function 
<A HREF="chapAfs.htm#memberfunction" TARGET="_mainDisplayFrame"><B>361</B></A>, 
<I>see also</I> <A HREF="index-O.htm#operation" target="TEXT">operation</A></DT>

<DT><a name="M<FONT SIZE=-1>EMENTO</FONT>"></a>M<FONT SIZE=-1>EMENTO</FONT> 
<A HREF="pat5ffs.htm#top" TARGET="_mainDisplayFrame"><B>283</B></A>
</DT>

<DD>in catalog summary 
<A HREF="chap1fs.htm#cat-memen" TARGET="_mainDisplayFrame">9</A>
</DD>

<a name="Memento"></a>
<DT>Memento</DT>

<DD>combined with C<FONT SIZE=-1>OMMAND</FONT> 
<A HREF="pat5bfs.htm#implementation" TARGET="_mainDisplayFrame">239</A>,
<A HREF="pat5ffs.htm#implementation" TARGET="_mainDisplayFrame">287</A>
</DD>

<DD>participant of M<FONT SIZE=-1>EMENTO</FONT> 
<A HREF="pat5ffs.htm#participants" TARGET="_mainDisplayFrame">285</A>,
<A HREF="pat5ffs.htm#structure" TARGET="_mainDisplayFrame"><I>285c</I></A>,
<A HREF="pat5ffs.htm#collaborations" TARGET="_mainDisplayFrame"><I>286i</I></A>
</DD>

<DT>memento 
<A HREF="pat5ffs.htm#motivation" TARGET="_mainDisplayFrame"><B>284</B></A>
</DT>

<DD>costs associated with 
<A HREF="pat5ffs.htm#consequences" TARGET="_mainDisplayFrame">286</A>
</DD>

<DD>language support for 
<A HREF="pat5ffs.htm#implementation" TARGET="_mainDisplayFrame">287</A>
</DD>

<DT>MemoryStream 
<A HREF="pat4dfs.htm#knownuses" TARGET="_mainDisplayFrame">183</A>
</DT>

<DT>Menu
<A HREF="chap2fs.htm#editor_factory_hierarchy" TARGET="_mainDisplayFrame"><I>50c</I></A>,
<A HREF="pat5kfs.htm#motivation" TARGET="_mainDisplayFrame"><I>233c</I></A>
</DT>

<DT>menu 
<A HREF="pat5kfs.htm#motivation" TARGET="_mainDisplayFrame">233</A>
</DT>

<DD>configuring 
<A HREF="chap2fs.htm#encap-request" TARGET="_mainDisplayFrame">60</A>,
<A HREF="pat5bfs.htm#motivation" TARGET="_mainDisplayFrame">234</A>
</DD>

<DD>pull-down 
<A HREF="chap2fs.htm#top" TARGET="_mainDisplayFrame">58</A>
</DD>

<DT>MenuItem 
<A HREF="chap2fs.htm#encap-request" TARGET="_mainDisplayFrame">59</A>,
<A HREF="chap2fs.htm#editor_menuitem-command_relationship" TARGET="_mainDisplayFrame"><I>61c</I></A>,
<A HREF="pat5bfs.htm#motivation" TARGET="_mainDisplayFrame">233</A>,
<A HREF="pat5bfs.htm#233c" TARGET="_mainDisplayFrame"><I>233c</I></A>
</DT>

<DT>metaclass 
<A HREF="pat3efs.htm#knownuses" TARGET="_mainDisplayFrame"><B>133</B></A>,
<A HREF="chapAfs.htm#metaclass" TARGET="_mainDisplayFrame"><B>361</B></A>
</DT>

<DT>method 
<A HREF="chapAfs.htm#operation" TARGET="_mainDisplayFrame"><B>361</B></A>, <I>see also</I> <A HREF="index-O.htm#operation" target="TEXT">operation</A>
</DT>

<DT><a name="Microsoft Windows"></a>Microsoft Windows 
<A HREF="chap2fs.htm#top" TARGET="_mainDisplayFrame">52</A>
</DT>

<DT><a name="mixin class"></a>mixin class 
<A HREF="chap1fs.htm#absclass" TARGET="_mainDisplayFrame"><B>16</B></A>,
<A HREF="chap1fs.htm#absclass" TARGET="_mainDisplayFrame"><I>16c</I></A>, 
<A HREF="chapAfs.htm#mixinclass" TARGET="_mainDisplayFrame"><B>361</B></A>
</DT>

<a name="Model/View/Controller"></a>
<DT>Model/View/Controller 
<A HREF="chap1fs.htm#top" TARGET="_mainDisplayFrame">4</A>,
<A HREF="chap1fs.htm#top" TARGET="_mainDisplayFrame">5</A>
</DT>

<DD>use of C<FONT SIZE=-1>OMPOSITE</FONT><A HREF="chap1fs.htm#top" TARGET="_mainDisplayFrame">5</A>,
<A HREF="pat4cfs.htm#knownuses" TARGET="_mainDisplayFrame">172</A>
</DD>

<DD>use of F<FONT SIZE=-1>ACTORY</FONT> M<FONT SIZE=-1>ETHOD</FONT> 
<A HREF="pat3cfs.htm#knownuses" TARGET="_mainDisplayFrame">115</A>
</DD>

<DD>use of O<FONT SIZE=-1>BSERVER</FONT> 
<A HREF="chap1fs.htm#top" TARGET="_mainDisplayFrame">5</A>,
<A HREF="pat5gfs.htm#knownuses" TARGET="_mainDisplayFrame">303</A>
</DD>

<DD>use of S<FONT SIZE=-1>TRATEGY</FONT><A HREF="chap1fs.htm#top" TARGET="_mainDisplayFrame">6</A>
</DD>

<DT>MonoGlyph 
<A HREF="chap2fs.htm#compcomposite" TARGET="_mainDisplayFrame">44</A>,
<A HREF="chap2fs.htm#editor_embellish-omt" TARGET="_mainDisplayFrame"><I>45c</I></A>
</DT>

<DT>Motif 
<A HREF="chap2fs.htm#lexi-looknfeel" TARGET="_mainDisplayFrame">35</A>,
<A HREF="chap2fs.htm#top" TARGET="_mainDisplayFrame">47</A>,
<A HREF="chap2fs.htm#macintosh1" TARGET="_mainDisplayFrame">48</A>,
<A HREF="chap2fs.htm#macintosh1" TARGET="_mainDisplayFrame">49</A>,
<A HREF="chap2fs.htm#editor_products" TARGET="_mainDisplayFrame">51</A>,
<A HREF="pat3afs.htm#motivation" TARGET="_mainDisplayFrame">87</A>
</DT>

<DT>MotifFactory 
<A HREF="chap2fs.htm#macintosh1" TARGET="_mainDisplayFrame">49</A>,
<A HREF="chap2fs.htm#editor_products" TARGET="_mainDisplayFrame"><I>50c</I></A>
</DT>

<DT>multiple dispatch, <I>see</I> <A HREF="index-D.htm#dispatch" target="TEXT">dispatch, multiple</A></DT>

<DT>multiple inheritance, <I>see also</I> <A HREF="index-M.htm#mixin class" target="TEXT">mixin class</A></DT>

<DD>used to implement class adapter 
<A HREF="pat4afs.htm#structure" TARGET="_mainDisplayFrame">141</A>
</DD>

<DD>used to implement B<FONT SIZE=-1>RIDGE</FONT> 
<A HREF="pat4bfs.htm#implementation" TARGET="_mainDisplayFrame">156</A>
</DD>

<DT>MVC, <I>see</I> <A HREF="index-M.htm#Model/View/Controller" target="TEXT">Model/View/Controller</A></DT>

<DT>Meyer, Bertrand 
<A HREF="pat4afs.htm#knownuses" TARGET="_mainDisplayFrame">149</A>
</DT>

</DL>

